문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 세가 새턴 (문단 편집) ==== 두 개의 CPU ==== 세가 새턴은 32비트 CPU를 두 개 탑재한 64비트 게임기라는 식으로 광고를 했다. SH-2에는 멀티 프로세서 기능이 있어, SH-2를 탑재하면 비교적 손쉽게 성능 상승을 노릴 수 있었다. 그러나 문제는 히타치 SH-2의 멀티 프로세서 기능은 마지못해 넣었다는 것이다. 히타치 SH-2의 개발자인 가와사키 슌헤이(河崎俊平)의 닛케이 일렉트로닉스와 인터뷰에 따르면, 연구소의 거듭된 요청에 따라 'SH-2에 멀티프로세서 구성을 채택할 수 있도록 매우 간단한 회로를 내장해 두기로 했다'며 '분명 누구에게도 사용되는 일은 없는 기능이라고 내심 생각하고 있었다'고 말했다. 멀티 프로세서(또는 멀티 코어 프로세서)는 캐시 일관성(Cache Coherence)과 이를 위한 폭넓은 버스 인터페이스 컨트롤러 설계가 중요하다. 캐시 일관성이란 한 CPU(또는 코어)가 작업한 결과를 다른 CPU(또는 코어)도 알 수 있도록 로컬 캐시를 갱신해 데이터를 일치시키는 것을 말한다. 캐시 메모리를 계속 갱신하기 위해서는 캐시 메모리간 버스 인터페이스도 뒷받침 되어야만 한다. 오늘날 인텔과 AMD의 멀티 코어 CPU들은 시스템 에이전트가 로컬 캐시 메모리 상태를 감시하며, 캐시 일관성으로 인한 성능 저하가 덜하도록 링 버스 또는 메시 버스로 연결되어 있다. 그러나 SH-2는 상술했듯 멀티 프로세서 기능이 급조된 것에 가까웠기 때문에 캐시 일관성 기능이 없었다. 그렇기 때문에 [[https://segaretro.org/File:ST-202-R1-120994.pdf|세가 새턴 듀얼 CPU 사용자 설명서]]에 따르면 작업 결과를 듀얼 프로세서간 공유하기 위해서는 프로그래머가 직접 캐시 메모리의 데이터를 무효화(Cache Invalidation)하거나 주 메모리에서 직접 데이터를 읽어들여(Cache-through Read)야 했다. 그러나 CPU와 메모리간 버스 인터페이스도 한 개의 버스로만 공유되어 있었기 때문에, 한 CPU가 주 메모리에 접근했을 때 다른 CPU가 찾는 자료가 4KB의 캐시 메모리에 없는 경우 그 CPU가 작업을 마칠 때까지 기다려야만 했다. 또한 세가 새턴 출시 당시 자동 병렬화(Automatic Parallelization) [[컴파일러]]가 없었다. 그래서 새턴 출시 초기까지 어셈블리어로 개발할 수밖에 없었다. 사토 히데키의 인터뷰에 따르면 [[C(프로그래밍 언어)|C]] 같은 고급 언어로 개발하려면 컴파일러가 필요하다는 것은 알고 있었으나, 자동 병렬화 컴파일러 개발 경험이 없었기 때문에 없었다고 한다. 히타치는 SH-2 컴파일러를 내놓긴 했으나 자동 병렬화 컴파일러 개발 경험이 없었던 데다가, 슈퍼패미컴과 메가 드라이브 시절까지 주 개발 언어가 어셈블리어였고, 세가의 개발자들은 3D 게임에서도 어셈블리어를 잘 다뤘기 때문에 자동 병렬화 컴파일러 없이 출시한 것으로 보인다. 문제는 서드 파티들이었는데 2D 게임 개발은 괜찮았을지 몰라도 3D 게임은 규모가 대단히 커지기 때문에 복잡해서 제대로 개발할 수 없었다는 것이다. 게다가 당시 병렬 프로그래밍에 대해 생소했다는 점도 문제였다. 이전까지는 게임기에 단일 프로세서 구성만 있었기 때문에, 멀티 프로세서 병렬 프로그램을 짠다는 것은 어려운 일이었다. 실제로 '''세가조차 초기 게임 개발에서는 스튜디오마다 병렬 처리 방법에서 시행착오를 거듭해''', 새턴은 프로그래밍이 어렵다는 말이 당시 게임 잡지에서도 나올 정도였다. 그런 초기 게임들의 개발 노하우를 공통 라이브러리로 만든 것이 바로 '''SGL(Sega 3D Game Library)이다.''' SGL은 세가 AM2가 [[버추어 파이터]] 새턴판 이식 과정에서 만들어졌으며, 인체 모델 및 관절 제어 등의 기본 프로그램들이 들어있다. 또한, SGL은 슬레이브 SH-2를 3D 정점 연산에 전념시키고, 마스터 SH-2를 장치 제어와 AI 연산을 할 수 있도록 최적화하는 코드가 포함되어 있었다. 그러나 SGL은 기본적인 프로그램들만 들어있고, 나머지는 모두 알아서 만들어야 했으니 개발에는 그다지 많은 도움을 주지는 못했다. [[세가 AM2]] 연구소의 수장, [[스즈키 유]]마저 1995년 2월 잡지 Next Generation과의 인터뷰에서 "두 개의 CPU를 프로그래밍하려고 시도하는 것은 문제가 있습니다. 버추어 파이터는 각 캐릭터를 계산하는 데 두 개의 CPU를 사용합니다. 두 CPU는 동시에 계산을 시작하지만 한 CPU가 다른 CPU를 따라잡기 위해 기다려야 할 때 지연됩니다. 매우 빠른 프로세서 한 개를 사용하는 것이 더 좋습니다. 모든 프로그래머들이 두 개의 CPU를 프로그래밍할 수 있는 능력이 있다고는 생각하지 않습니다. 대부분의 프로그래머들은 SH-2에서 얻을 수 있는 속도의 1.5배 정도만 얻을 수 있습니다. '''100명의 프로그래머 중 1명 정도만이''' 새턴에서 충분한 성능을 얻을 수 있을 거라고 생각합니다."라며 [[https://archive.org/details/nextgen-issue-002/page/n43/mode/2up|새턴 게임 개발의 어려움을 인정했다.]] [[후나미즈 노리타카]](船水紀孝)의 세가 새턴 매거진과의 1998년 10월 [[바이오하자드 -코드: 베로니카-]] 발표 인터뷰에 따르면 [[바이오하자드 2]]는 새턴 이식을 고려한 적이 있지만 그래픽을 처리하기에 CPU가 너무 느리다며 취소되었다고 말했다. 쿠타라기 켄도 이에 대해 "나중에 추가하면 어떻게 될 거라는 발상이 나쁘다. 성능도 좋아지지 않고 제조비만 올라간다. 있는 것만을 조합해서는 좋은 결과로 이어지지 않는다."라고 평가했다.저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기